import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 创建ndarray数组
list = [1,2,3,4,5]
n = np.array(list)
print(n)
print("-------------------------------------------")

# 元素优先级: str > float > int
n = np.array([3.14,2,"hrllo"])
print(n)
print("-------------------------------------------")

# __________________使用其他的创建方式__________________
# 使用ones方式: shape代表形状:几行几列
#             dtype:代表元素类型
n = np.ones(shape=(3,4,5),dtype=np.int16)
print(n)
print("-------------------------------------------")

# 使用zeros方式: shape代表形状:几行几列
# #             dtype:代表元素类型
n = np.zeros(shape=(5,5), dtype=np.int16)
print(n)
print("-------------------------------------------")

# 使用full的方式: shape代表形状:几行几列
#               fill_value: 代表填充值
# #             dtype:代表元素类型
n = np.full(shape=(5,5), fill_value=4, dtype=np.int16)
print(n)
print("-------------------------------------------")

# 使用eye的方式:对角线为1,其他未知为0
# n:行数
# m:列数
# k:对角线向右偏移位置
# 元素类型
n = np.eye(5,5, 1, np.int16)
print(n)
print("-------------------------------------------")

# 使用linspace的方式:等差数列
# start:开始值
# stop:结束值
# num:等差数列数据数量,不填默认50个
# endpoint:是否显示最后一个数据
# retstep:显示步长
n = np.linspace(0,100,51,dtype=np.int16,endpoint=True,retstep=True)
print(n)
print("-------------------------------------------")

# 使用arrange的方式
# 长度为10
n = np.arange(10)
print(n)
# 开始为2,结束为10
n = np.arange(2,10)
print(n)
# 开始为2,结束为10,步长为2
n = np.arange(2,10,2)
print(n)
print("-------------------------------------------")

# 使用random.randint: 创建一个随机整数
# 范围[0,3)
n = np.random.randint(3)
print(n)
# 范围[3,10)
n = np.random.randint(3,10)
print(n)
# 范围[3,10),长度为6的一维数组
n = np.random.randint(3,10,size=6)
print(n)
# 范围[3,10),4行4列的二维数组
n = np.random.randint(3,10,size=(4,4))
print(n)
print("-------------------------------------------")

# 使用random.randn的方法:服从标准正态分布
# 一维数组,20个
n = np.random.randn(10)
print(n)
# 二维数组,3行4列
n = np.random.randn(3,4)
print(n)
print("-------------------------------------------")

# 使用random.normal的方法.自定义服从正太分布
# loc:均值
# scale:标准差
# size:数组形状
n = np.random.normal(loc = 100,scale= 40,size = 10)
print(n)
print("-------------------------------------------")

# random.random生成[0,1)的随机数,二维数组3行4列
n = np.random.random(size=(3,4))
print(n)
print("-------------------------------------------")

# random.rand生成[0,1)的随机数,一维数组3行4列
n = np.random.rand(3,4)
print(n)
print("-------------------------------------------")
